package me.mylist;

import java.util.ArrayList;
import java.util.List;

public class A01_ListDemo1 {
    public static void main(String[] args) {
        //List系列独有的方法
        List<String> list = new ArrayList<>();
        list.add("aa");
        list.add("bb");
        list.add("cc");
        //Z指定位置插入指定元素
        //原有的元素会依次后移
        list.add(1, "qq");
        System.out.println(list);

        //删除指定索引的元素，返回被删除的元素
        String remove = list.remove(1);
        System.out.println(list);

        //修改指定索引处的元素，返回被修改的元素
        String result = list.set(2, "dd");
        System.out.println(result);
        System.out.println(list);

        //返回指定索引处的元素
        String s = list.get(0);
        System.out.println(s);

        //关于删除元素的补充
        //调用方法的时候，如果方法出现重载现象
        //会优先调用，实参跟形参类型一致的方法

        List<Integer> list2 = new ArrayList<>();
        list2.add(1);
        list2.add(2);
        list2.add(3);
        //想删除指定的元素，不依靠索引
        //手动装箱
        Integer i = Integer.valueOf(1);
        list2.remove(i);
        System.out.println(list2);

    }
}
